With the rapid developments in wireless networking, mobile devices, such as laptop computers, personal digital assistant (PDA) devices, high-end cellular phones, etc., are playing an increasingly important role in network communications. Mobile devices typically communicate with other devices by transmitting and receiving data over radio frequency (RF) channels. The wireless nature of the RF communications allows the devices to be mobile, i.e., to move from one place to another without losing network connectivity.
Although the mobility of mobile devices provides great freedom and convenience to their users, there are technical challenges in supporting device mobility. One major issue is how to maintain communication continuity when a mobile device moves around. When a mobile device crosses a boundary between subnets, it may be assigned a new network address. When the mobile device changes its address, all the computers it has network connections with (called “correspondent hosts”) lose communication with it. The term “network connection” is used in a generic way to refer to a data stream. This data stream may be connection oriented or connectionless. They have to rediscover the address of the mobile host and to restart their communications with it. Thus, the address change of the mobile host can be disruptive to the operation of many applications.
Conventionally, in order to deal with such disruption, an application has to include code to handle the mobility of the mobile devices. Alternatively, to keep mobility transparent to the applications, schemes such as Mobile IP (for TCP/IP networks) are employed that require mapping between a permanent address of the mobile host (also called the home address of the mobile host) and its current address (also called care of address of the mobile host) and the use of encapsulation or extension headers for continued communication between the mobile host and the nodes it had active sessions with. Code for mobility aware applications can be complex with high operational overhead, and having to develop the code to support mobility handling is burdensome to developers of the software applications. On the other hand, a scheme such as Mobile IP results in a packet overhead for the life of the session after the address has changed. It also requires that a mapping of the home address to the current address of the mobile host be permanently maintained.
Accordingly, there is currently a need for a mobility support scheme that does not require applications to include extensive code for mobility support or to be concerned with the details of the mobility support operation and to avoid the permanent packet and context overhead borne by schemes that keep mobility transparent to the applications.